﻿using System;

namespace AttributeDoem
{
    /// <summary>
    /// 1.我们也写一个自己的特性，说干就来吧来。带着问题一步一步是魔鬼的步伐，兄弟们要我们干就完了，噢力给！！！
    /// 2.首先我们创建一个类（特性就是一个很单纯的类，我们一般以Attribute结尾命名），像这样我们的特性类就做好了，接下来怎么做呢？
    /// </summary>
    class Program
    {
        static void Main(string[] args)
        {
            //我看先看特性是什么
            Human user = new Human();
            int age = user.GetAge();

            //自己创建一个特性
            User user1 = new User();

            //上面我们已经知道了特性的本质是什么了，现在就来看一下它的神奇之处
            Console.WriteLine(EOrderType.PaymentFailure.GetEnumRemark());

            //项目实战
            var description = EnumExpand.GetEnunCallFunction<EDemandType>(1).GetDescription();
            var terminalDictionary = EnumExpand.GetEnumDescriptionTypeDictionary<ETerminalType>();

            //进阶封装
            Admin admin = new Admin
            {
                Id = 1,
                Age = 80,
                Password = "123456"
            };
            Console.WriteLine(admin.GetEntityVerifyInfo());
            Console.WriteLine("Hello World!");
        }
    }
}
